package com.hanamaki.demo01;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import java.net.MalformedURLException;

/**
 * 1.测试 Selenium中 八个 定位元素方式 中的 三个  （id、className、name）
 */
public class SeleniumTemplate02 {

    //注册驱动
    /**
     * driver代表浏览器对象
     */
    WebDriver driver;
    @BeforeMethod
    public void setUp() {
        //注册本地火狐打开的位置
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");
        //初始化
        driver = new FirefoxDriver();
    }


    @Test
    public void test() throws InterruptedException, MalformedURLException {
        /* 打开资源路径的位置 */
        driver.get("file:///C:/Users/edz/Desktop/testhtml/exam/House.html");

        /* 定位到 打开网页中的 物业名称文本框：1. xpath  2. cssSelector */
        /* 1. 使用 xpath 来定位 物业名称   1. //input[@class='uname']    //td/input[@class='uname'] */
//        WebElement wymc = driver.findElement(By.xpath("//td/input[@class='uname']"));
//        wymc.clear();/* 清空文本框中的默认值  如果不清空文本框的默认值 ，会将数据卸载默认值后*/
//        wymc.sendKeys("hanamaki");

        /* 2. 使用 css的方式 来获取  物业名称的  文本框  通过 css中的层次选择器来定位元素  td input[class='uname']  */
/*        WebElement element = driver.findElement(By.cssSelector("td input[class='uname']"));
        element.clear();*//* 清空文本框中的默认值  如果不清空文本框的默认值 ，会将数据卸载默认值后*//*
        element.sendKeys("hanamaki");*/

        /*   2.1 使用 css 中  类选择器 来定位元素  class属性就是类选择器   class在选择器中使用 . 来表示
                     td input.uname[name='username']
             id的属性就是 id选择器    id 在选择器中使用 # 来表示 */
        WebElement element = driver.findElement(By.cssSelector("td input.uname"));
        element.clear();//* 清空文本框中的默认值  如果不清空文本框的默认值 ，会将数据卸载默认值后*//*
        element.sendKeys("hanamaki");

        /*   2.2 使用 css中的  class 属性的值 来定位元素  */
//        WebElement element = driver.findElement(By.className("uname"));
//        element.clear();//* 清空文本框中的默认值  如果不清空文本框的默认值 ，会将数据卸载默认值后*//*
//        element.sendKeys("hanamaki1111111");

        /*   2.2 使用 css中的  name 属性的值 来定位元素  */
//        WebElement element = driver.findElement(By.name("username"));
//        element.clear();//* 清空文本框中的默认值  如果不清空文本框的默认值 ，会将数据卸载默认值后*//*
//        element.sendKeys("22222222");



        /* 测试 id  */
        /* 1.1  使用 css的方式中的id选择器来定位  email */
//        WebElement element1 = driver.findElement(By.cssSelector("td input#email"));
//        element1.clear();
//        element1.sendKeys("123@qq.com");

        /* 2.1 使用  id 来定位元素  */
        WebElement element1 = driver.findElement(By.id("email"));
        element1.clear();
        element1.sendKeys("12356@qq.com");
    }

    @AfterClass
    public void close() {
//        driver.quit();
    }
}
